package com.yxj05;

import javafx.beans.binding.NumberBinding;

import java.util.ArrayList;
import java.util.List;
import java.util.Stack;

public class GenericDemo {
    public static void main(String[] args) {
        //类型通配符：<?>
        List<?> list1 = new ArrayList<Object>();
        List<?> list2 = new ArrayList<Number>();
        List<?> list3 = new ArrayList<Integer>();
        System.out.println("------------");
        //类型通配符的上限：<? extends 类型>
        //类型及子类
//        List<? extends Number> list4 = new ArrayList<Object>();
        List<? extends Number> list5 = new ArrayList<Number>();
        List<? extends Number> list6 = new ArrayList<Integer>();
        System.out.println("------------");
        //类型通配符的下限：<? super 类型>
        //类型及父类
        List<? super Number> list7 = new ArrayList<Number>();
        List<? super Number> list8 = new ArrayList<Object>();
//        List<? super Number> list9 = new ArrayList<Integer>();
    }
}
